--
-- $Id: xpa-sed.ads,v 1.1 2006/04/14 09:46:48 bacon Exp $
--

with Ada.Strings.Unbounded;
package XPA.Sed is


	type Sed_Type is tagged limited private;
	type Sed_Access is access all Sed_Type;

	--type Script_Type is abstract tagged limited private;
	--type Script_String is new Script_Type with private;
	
	type Script_Type is tagged limited null record;
	type Script_String is new Script_Type with record
		Source: Ada.Strings.Unbounded.Unbounded_String;
		Index: Natural := 0;
	end record;

	procedure Open (sed: out Sed_Type);
	procedure Close (sed: in Sed_Type);

	procedure Compile (sed: in Sed_Type; script: in Script_Type'Class);
	procedure Execute (sed: in Sed_Type);

	
	
private
	type Sed_Type is tagged limited record
		option: Integer := 0;
		--script: access Script_Type'Class;
	end record;

	--type Script_Type is tagged limited null record;
	
	--type Script_String is new Script_Type with record
	--	Source: Ada.Strings.Unbounded.Unbounded_String;
	--	Index: Natural := 0;
	--end record;
	
end XPA.Sed;
